RadioChat Help - Contents
  Version 3.73d - Copyright (c)1998,99 FAUST Informatics/Dirk Faust

Welcome to the world of RadioChat Server!

Please, read the legal issues before(!) starting the RadioChat server.

Note, this helpfile is just a little overview on the RadioChat Server capabilities.

You will soon notice what you can do with the Server if you will work on for some days - at least it's at your phantasy what you make of it!

What's new in this version?

1.  Getting started (the first time)

2.  Configuring your server

3.  Implemented Commands

4.  The RadioChat SSI (Server Side Includes)

5.  The GET Parameters (change the RadioChat behavior)

6.  The RadioChat API - your commands

7.  Legal issues

Visit http://www.dieprofis.de/faust  for latest version and informations.


Preparing you server for the first start

Getting started with your RadioChat Server

Preparing for a LOCAL test:

If you have installed the RadioChat Server to c:\radiochat, you can test it out just now.

The server comes fully configured to you, working on a local machine.

Just point your browser to c:\radiochat\this_must_be_online\index.html and log in - that's it :-)

Preparing for the INTERNET/INTRANET

As the RadioChat Server is a chat server and not a web server, you have to have a machine in the internet, running

a http(www)-server.

From that machine, the login-files and some other stuff will be served.

Only Chat-Internal HTML's - located at the "html" subdirectory - will be served by the RadioChat Server.

Okay, let's start:

I assume, that you have installed the RadioChat Server on a machine with internet-access (any other makes no sense except it is a intranet - but that's the same here...)

First, you have to to start SETUP.EXE, where you have to change the "IP of server" in the first tab to the IP-Address of the Internet-connected machine, the RadioChat Server is located (the local IP - but not 127.0.0.1!!!).

Press "OK, Save it!", and let the setup make all the modyfications for you.

Now, take your favourite FTP-Client, and upload all files out of the "this_must_be_online" sub-directory onto a webserver (a web-server of your choice) into a subdirectory of your choice (I assume further, that you named it "chat" in the document-root and the server is called "www.mychat.com").

Now, re-enter SETUP.EXE and make these minimum changes (replace my assumends with the real values!):

1. Tab "General Config":

    - change "Full URL of Login-Page" to "http://www.mychat.com/chat/index.html"

    - change "Full URL of Login-Dir" to "http://www.mychat.com/chat/"

2. Press "OK, Save it!"

At last, start the RADIOCHAT.EXE (preferable linked from the autostart folder), then point your web-browser to http://www.mychat.com/chat/index.html and all is done :-)


Configuring your server

Configuring your RadioChat Server

All configuration can be made trough the SETUP.EXE, located in the program-directory.

As the most of the options are self-explaining, I'll only explain some of the more difficult ones here.

If there are any questions further, look at http://www.dieprofis.de/faust (menue Radiochat). I will setup a messageboard the next couple of days so you can ask there the elite.

1. The Tab "Password Admin"

Here is the place, you will see very often in your live with RadioChat.

It's the control over any password-registered user and it's rights.

You can delete a user here, by typing in the nickname into the edit and press "Delete by name", or

by clicking onto his entry in the grid on the left.

If you clicked into the grid on a userenty, you can also change now the rights of this user.

Default, no user has any right. But maybe you want to have some people, that watch sometimes over the behavior of the other chatters - therefore you can give them 3 different types of rights.

First, the Guard-right enables a user to kick any chatter out of the chat (yes, even in fixed rooms).

Second, the SuperUser-right includes the Guard-right with the possibility of giving someone else the Guard-right (only, as long the other is in the chat - after the logout, the other looses that right). These right enables e.g. the feature IPSCAN.

Third, the Admin-rights, as the name says, enables the most administrative commands, including IPDENY and to walk into every room (even if locked - the admin can walk into ANY room).

To get more information about rights and there command-enables, read at the COMMANDS section.

2. The Tab "Rooms/History"

This tab is the control-center of the fixed rooms.

These rooms will never be deleted, even if they are empty (if no one is in) and the users can choose out of them as a starting-room on login.

You can define up to 50 fixed rooms, leaving 150 user-creatable rooms for the chat.

These rooms can't be locked, and no normal user can kick someone out of them.

They are the places, your users can change theire desire, if you give them significant names like 'bed_room" ;].

If you make any changes to that rooms, please notice, that you have to change the "login.html" on the webserver also.

Look at the <SELECT NAME="uraum"> and you will see what I mean as faster as I can explain it.


Implemented commands

The RadioChat server comes with a dozen of commands, the user can execute at chatting.

These commands can be executed trough the text-input, you normally talk with.

The format is "/command parameter1 parameter2 ..." without the colons.

Following listed are all commands that are compiled into the kernel:

Command: "/QUIET"	*NEW'

Action: Remove/Reactivate <nickname>'s right to talk

Parameters: nickname

Example: "/QUIET spammer"

Needed rights: Guard

Command: "/J"

Action: Go to a room or create it if it does not even exists

Note: If the room exists and is locked, you can only enter it if you have at least Admin rights

Parameters: roomname

Example: "/J myroom"

Needed rights: none

Command: "/I" alias "/ME" 	  *NEW (alias)*

Action: Talk from yourself

Parameters: sentence

Example: "/I is a freak"

Needed rights: none

Command: "/Q"

Action: Quit (leave the chat)

Parameters: none

Example: "/Q"

Needed rights: none

Command: "/S"

Action: Shout (the sentence appears bold and fat)

Parameters: sentence

Example: "/S hey there!"

Needed rights: none

Command: "/L"

Action: Lock/Unlock room

Parameters: none

Example: "/L"

Needed rights: have to be the creator of the room

Command: "/K"

Action: Kick someone out of the room

Parameters: nickname

Example: "/K jimmy"

Needed rights: have to be creator of the room or has to have at lease Guard-rights

Command: "/C"

Action: Clear screen (if not in scrollmode)

Parameters: none

Example: "/C"

Needed rights: none

Command: "/LINES"	*NEW*

Action: Change visivle rowcount (if not in scrollmode)

Parameters: rowcount

Example: "/LINES 24"

Needed rights: none

Command: "/COL"	*BUGFIX*

Action: Change color

Note: Yeah, mistyped at version 3.71 -> col==lines ... sorry.

Parameters: color (hex-coded)

Example: "/COL FFFF00"

Needed rights: none

Command: "/W" alias "/MSG"	 	*NEW (alias)*

Action: Whisper (only the person whispered to can read the sentence)

Parameters: nickname | sentence

Example: "/W otherfreak Hey, how are you?"

Needed rights: none

Command: "/R"

Action: List rooms with all users in them

Parameters: none

Example: "/R"

Needed rights: none

Command: "/IPSCAN"	*BUGFIX*

Action: Display the IP-Address of target

Note: Version 3.71 was buggy: allowing only NOT SuperUser to do that... sorry.

Parameters: nickname

Example: "/IPSCAN ashole"

Needed rights: SuperUser

Command: "/IPDENY"

Action: Kick the user out of the chat and insert the IP-Address into the host-deny list

Parameters: nickname

Example: "/IPDENY agent"

Note: Wildcards are in the setup hostlist okay (e.g. /IPDENY 194.25.139.*)

Needed rights: Admin

Command: "/ADGU"

Action: Give someone Guard-rights

Parameters: nickname

Example: "/ADGU friend1"

Needed rights: Super

Command: "/RMGU"

Action: remove Guard-rights of a person

Parameters: nickname

Example: "/RMGU nomorefriend1"

Needed rights: Super

Command: "/ADSU"

Action: Give someone SuperUser rights

Parameters: nickname

Example: "/ADSU veryverygoodfriend1"

Needed rights: Admin

Command: "/RMSU"

Action: Remove SuperUser rights of a person

Parameters: nickname

Example: "/RMSU misuser"

Needed rights: Admin


The RC Server Side Includes

RC Server Side Includes

To make this chat server unequal to the others, it can process SSI-commands.

These SSI-commands are RadioChat-SSI commands - not to be misinterpreted as SSI from the Apache-implementation!

Use these commands to dynamically generate HTML-Files from the "html" sub-directory.

Look at the subdir "html" in the program-directory to get an idea on howto use them.

Following a list of all supported RC-SSI commands:

Command: %uid%

Replaced by: The UID (universal chatter-ID) of the getting chat-user.

Command: %server%

Replaced by: The IP-Address of the RadioChat Server

Command: %port%

Replaced by: The Port-Number of the RadioChat Server

Command: %homeurl%

Replaced by: The URL of the files, the webserver serves for the RadioChat Server (e.g. the login.html)

Command: %licence%

Replaced by: The licence holder of the RadioChat server (if any)

Command: %adminmail%

Replaced by: The email-Address of the chat-admin

Command: %uname%

Replaced by: The nickname of the getting chat-user

Command: %uraum%

Replaced by: The roomname, the getting chat-user is in

Command: %uzeilen%

Replaced by: The rowcount, the getting chat-user has set

Command: %helpfile%

Replaced by: Location of the SSI helpfile (for common settings)

Command: %inputfile%

Replaced by: The filename of the SSI input.html (the text input)

Command: %xparam1%

Replaced by: Something of your choice (must be getted to the RC server before)


The GET Parameters - the flowcontrol

The GET Parameters

The server is fully controled by forms or parameters, that are "getted" to him.

As you can think of, the server must somehow get the name and anything else the incoming chat-user wants him to know.

Therefore, you can use a form (<FORM MEHTOD="GET" ACTION="http://%server%:%port%/">) or the GET identifier "?" in a HREF.

The only parameters, you have to give to ANY ACCESS to the RadioChatServer are the parameter "a" and "uid".

The parameter "a" controls the server and is also called the "flowcontrol" parameter. This parameter tells the server what to do with the other parameters given and how to react. The "uid" parameter HAS TO BE send also every time you access the server.

If you do not have a UID, write something you want at that time.

Look at the example, you have become with this copy of the server to get an idea, on how this works.

Following, a list of parameters, you can GET to the RadioChat server:

Value of parameter "a": 0

Also needed parameters: uname (nickname), uzeilen (rowcount), uraum (roomname) [,upass (password)]

Action: Generate a unique UID for the user and send the "frameset"-HTML specified in the setup.

            (This is like a pre-login)

Value of parameter "a": 1

Also needed parameters: uname (nickname), uzeilen (rowcount), uraum (roomname)

Action: Give the user a chat-window (the window, all the "spoken" text appears)

            This can be understand as the main login

Value of parameter "a": 2

Also needed parameters: blah (text to "speak"), [htmlfile (to be send back), xparam1 (something)]

Action: "speaks" the text defined in "blah". If "htmlfile" not defined, the "input"-html specified by the setup will be send

            back.

Value of parameter "a": 3

Also needed parameters: uname (nickname), upass (password), uemail (email-address)

Action: Registers password for the specified nickname

Parameter value "4" is reserverd for future use...

Value of parameter "a": 5

Also needed parameters: ucolor (hexcode of a color in format RRGGBB [html-style without #])

Action: Changes the visible color of the user

Value of parameter "a": 6

Also needed parameters: htmlfile (file to SSI-process and serve)

Action: Sends the file "htmlfile" from the "html" sub-directory after SSI-Processing.

Value of parameter "a": 7

Also needed parameters: uzeilen (rowcount - numeric value)

Action: Changes the visible rowcount of the user

Value of parameter "a": S

Also needed parameters: none except uid

Action: Generate a status-report of the RadioChat server and setnd it

Value of parameter "a": U

Also needed parameters: none except uid

Action: Generate an ASCII-File of the room/userlist and send it

            This is usefull for statistics-servers like www.webchat.de

Value of parameter "a": V

Also needed parameters: uid of target

Action: Sends a Voice-Header for the Voice-Plugin for the user specified by uid


The RadioChat API

The RCAPI, Application Programming Interface, is a layer where you can implement your own functions and commands into the Server in form of a DLL file.

These commands can then be used like the commands, the RC server comes with (from the text-input).

The RadioChat Server comes with an example DLL to you, and the full source-code for it in Delphi32.

Look at it if you are a programmer (it's commentet) - explaining it here to nonprogrammers will overget the frame at this point.

If you have written your own DLL, you can implement your commands, insert them to the "RADIOEXT.DAT" file (it's a textfile), restart the server and all is done. A entry in that file consists of 3 lines, which are as follows:

1. line: DLL-Name (MUST BE IN THE PROGAM-DIRECTORY!) (e.g. sample.dll)

2. line: exported function-name in the DLL (e.g. DLL_Punch)

3. line: command, which triggers the server to execute the function (e.g. punch for "/punch henry")


Legal Issues

The RadioChat Server is copyright (c)1998,99 by FAUST Informatics Germany/Dirk Faust. All rights reserved.

The author/FAUST Informatics is not responsible in any way for damage on hard- and/or software caused by this program.

You use the RadioChat Server and all of its components at you own risk.

I claim my basically right, that the RadioChat Server or any other product of FAUST Informatics don't have to be started on any machine of CIC-NET, Suding&Bredemier GbR, Bakum, Germany or any machine in their IP address-space except I gave my written permission to do so.

In other words: these persons ARE NOT ALLOWED TO do this and should notice, that if they do, they cause a crime!

If any name used in the RadioChat Server or any of it's components, is protected or registered in any way, please inform me so I can change that.


New in this version
What's new in this version (3.73d)

Bufixes:

- The Timeout bug was solved: It belongs to MSIE! The MS InternetExplorer has a Timeout itself.

  Use Netscape and all (not only the chat ;-} ) works fine..

- Removed some really SILLY bugs in IPSCAN and IPDENY.

- Added "disallow channel-hopping" Setup-Point, that does disallow users from changing themselves the channel they are in.

- (re)Added  the Default BGColor, FONTColor and UserColor Setup points, that define the visual effects in your chat.

What was new in the version (3.73[a..c])

Bufixes:

- The history lines setting was not properly interpreted. Hopefully fixed now.

- There was reported to be a bug in the timeout of inactivity - can't follow it.

What was new in the version (3.72)

Bufixes:

- Command IPSCAN: can now executed properly by SuperUsers (was rotated in v 3.71)

- Command COL: Yeah, uhm.. *g* has had to be LINES, not COL (was late where I wrote the helpfile ;})

New:

- Command LINES: (look above)

- Command QUIET: Removes/Reactivates right to talk of someone (Guard-Function)

- Command I: got new alias "ME"

- Command W: got new alias "MSG"

That's all for the moment folks.

I know, that's not very much for a update, but the IPSCAN-Bug was too hard to leave it as is.